![]() |
PATH![]() |
Interfaces are a means of determining the functionality a device can provide to the host and the means by which the device is controlled. For example, a device which provides a bulk interface function to the host would be controlled by an driver that understands the interface for the bulk transaction protocol.
Physical devices may contain multiple interfaces, which logically appear as device functions within devices. Each device has one interface for each function is supports.
The logical device is identified through an interface. Drivers use the USB Manager APIs to open interfaces to device functions (capabilities). The device's function(s) are defined by the interface class, subclass, and protocol values in the interface descriptor for the device.
A logical USB device is a collection of endpoints, grouped into endpoint sets, which implement a logical interface. USB software manages the interface using a pipe or pipe bundles. (Pipe bundles are used for bulk and isochronous transfers.) Data is packetized in a USB-defined structure by the host controller and moved across the USB between a software serial interface engine on the host and an endpoint on the device.
Previous | Back Up One Level | Next |